package cn.aws360.boot.auth.api;

import cn.aws360.boot.auth.api.pojo.response.LoginUserModel;

/**
 * @author junnan
 */
public interface LoginApi {

    /**
     * 验证码校验
     *
     * @param uuid    唯一码
     * @param captcha 验证码
     */
    void checkCaptcha(String uuid, String captcha);

    /**
     * 用户名登录
     *
     * @param username 用户名
     * @return LoginUserModel
     */
    LoginUserModel loadUserByName(String username);

    /**
     * 手机号登录
     *
     * @param mobile 手机号
     * @return LoginUserModel
     */
    LoginUserModel loadUserByMobile(String mobile);

    /**
     * 三方码登录
     *
     * @param uuid 三方码
     * @return LoginUserModel
     */
    LoginUserModel loadUserByTpsUuid(String uuid);

    /**
     * 丰富登录用户信息（权限信息）
     *
     * @param loginUserModel 登录用户
     * @return LoginUserModel
     */
    LoginUserModel wrapLoginUserPerm(LoginUserModel loginUserModel);

}
